package top.wu2020.lazy.ws.chat.infrastructure.entity;

import lombok.Data;
import lombok.experimental.Accessors;
import org.wu.framework.lazy.orm.core.stereotype.LazyTableIndex;
import org.wu.framework.core.stereotype.LayerField;
import org.wu.framework.core.stereotype.LayerField.LayerFieldType;
import org.wu.framework.lazy.orm.core.stereotype.LazyTable;
import org.wu.framework.lazy.orm.core.stereotype.LazyTableField;
import org.wu.framework.lazy.orm.core.stereotype.*;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import java.lang.String;
import java.lang.Long;
import org.wu.framework.lazy.orm.core.stereotype.LazyTableFieldId;
import java.lang.Integer;
/**
 * describe community_comment 
 *
 * @author Jia wei Wu
 * @date 2024/05/24 08:52 晚上
 * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity 
 **/
@Data
@Accessors(chain = true)
@LazyTable(tableName = "community_comment",schema = "ws_chat",comment = "")
@Schema(title = "community_comment",description = "")
public class CommunityCommentDO {


    /**
     * 
     * 头像
     */
    @Schema(description ="头像",name ="avatarUrl",example = "")
    @LazyTableField(name="avatar_url",comment="头像",notNull=true,columnType="varchar(255)")
    private String avatarUrl;

    /**
     * 
     * 社区评论
     */
    @Schema(description ="社区评论",name ="communityContent",example = "")
    @LazyTableField(name="community_content",comment="社区评论",columnType="longtext")
    private String communityContent;

    /**
     * 
     * 动态id
     */
    @Schema(description ="动态id",name ="communityId",example = "")
    @LazyTableField(name="community_id",comment="动态id",notNull=true,columnType="bigint")
    private Long communityId;

    /**
     * 
     * 社区图片
     */
    @Schema(description ="社区图片",name ="communityImg",example = "")
    @LazyTableField(name="community_img",comment="社区图片",columnType="varchar(500)")
    private String communityImg;

    /**
     * 
     * 内容
     */
    @Schema(description ="内容",name ="content",example = "")
    @LazyTableField(name="content",comment="内容",notNull=true,columnType="varchar(500)")
    private String content;

    /**
     * 
     * 创建时间
     */
    @Schema(description ="创建时间",name ="createDateUtc",example = "")
    @LazyTableField(name="create_date_utc",comment="创建时间",notNull=true,columnType="varchar(100)")
    private String createDateUtc;

    /**
     * 
     * id
     */
    @Schema(description ="id",name ="id",example = "")
    @LazyTableFieldId(name = "id", comment = "id")
    private Long id;

    /**
     * 
     * 接收者id
     */
    @Schema(description ="接收者id",name ="receiverId",example = "")
    @LazyTableField(name="receiver_id",comment="接收者id",columnType="bigint")
    private Long receiverId;

    /**
     * 
     * 接收者姓名
     */
    @Schema(description ="接收者姓名",name ="receiverName",example = "")
    @LazyTableField(name="receiver_name",comment="接收者姓名",columnType="varchar(255)")
    private String receiverName;

    /**
     * 
     * 发送者id
     */
    @Schema(description ="发送者id",name ="sendId",example = "")
    @LazyTableField(name="send_id",comment="发送者id",notNull=true,columnType="bigint")
    private Long sendId;

    /**
     * 
     * 发送者姓名
     */
    @Schema(description ="发送者姓名",name ="sendName",example = "")
    @LazyTableField(name="send_name",comment="发送者姓名",notNull=true,columnType="varchar(255)")
    private String sendName;

    /**
     * 
     * 阅读状态：0否，1是
     */
    @Schema(description ="阅读状态：0否，1是",name ="status",example = "")
    @LazyTableField(name="status",comment="阅读状态：0否，1是",notNull=true,defaultValue="'0'",upsertStrategy = LazyFieldStrategy.NEVER,columnType="int")
    private Integer status;

    /**
     * 
     * 类型：0留言，1回复
     */
    @Schema(description ="类型：0留言，1回复",name ="type",example = "")
    @LazyTableField(name="type",comment="类型：0留言，1回复",notNull=true,defaultValue="'0'",upsertStrategy = LazyFieldStrategy.NEVER,columnType="int")
    private Integer type;

}